﻿// ===============================================================================
//  Copyright © ymind.net. All rights reserved .
//  官方网站：http://ymind.net/
//  版权所有：彦铭工作室 老陈出品
// ===============================================================================

using System;

namespace Lcsoft.UrlRewriter.Logging
{
	/// <summary>
	/// 提供地址重写日志的基本操作。
	/// </summary>
	public interface IRewriteLogger
	{
		/// <summary>
		/// 输出调试信息。
		/// </summary>
		/// <param name="message">消息内容。</param>
		void Debug(object message);

		/// <summary>
		/// 输出常规信息。
		/// </summary>
		/// <param name="message">消息内容。</param>
		void Info(object message);

		/// <summary>
		/// 输出警告信息。
		/// </summary>
		/// <param name="message">消息内容。</param>
		void Warn(object message);

		/// <summary>
		/// 输出错误信息。
		/// </summary>
		/// <param name="message">消息内容。</param>
		void Error(object message);

		/// <summary>
		/// 输出错误信息。
		/// </summary>
		/// <param name="message">消息内容。</param>
		/// <param name="exception">引发当前错误的 <see cref="Exception"/> 对象。</param>
		void Error(object message, Exception exception);

		/// <summary>
		/// 输出致命的错误信息。
		/// </summary>
		/// <param name="message">消息内容。</param>
		/// <param name="exception">引发当前错误的 <see cref="Exception"/> 对象。</param>
		void Fatal(object message, Exception exception);
	}
}
